
import Head from 'next/head'

<Head>
  <script>
    {
      `(function() {
         var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e60fb290e204e04c5cb6f79b0ac1e697";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
       })();`
    }
  </script>
</Head>

![LangChain](https://pica.zhimg.com/50/v2-56e8bbb52aa271012541c1fe1ceb11a2_r.gif)





文本分割器[#](#text-splitters "到标题的永久链接")
====================================

> [概念指南](https://docs.langchain.com/docs/components/indexing/text-splitters)

当您想处理长篇文本时，需要将文本拆分为块。
尽管听起来很简单，但这里存在着很多潜在的复杂性。理想情况下，您想将语义相关的文本片段保持在一起。什么是“语义相关”可能取决于文本类型。
本教程展示了几种方法来实现这一点。

在高层次上，文本分割器的工作如下：

- 将文本拆分为小的、语义上有意义的块（通常是句子)。

- 开始将这些小块组合成一个较大的块，直到达到一定的大小（由某些函数测量)。

- 一旦达到该大小，将该块作为自己的文本块，然后开始创建一个新的文本块，其中包含一些重叠（以保持文本块之间的上下文)。

这意味着您可以沿两个不同的轴自定义文本分割器：

- 文本如何拆分

- 如何测量块大小

有关默认文本分割器和通用功能的介绍请参见：

* [入门指南](text_splitters/getting_started)

我们还为所有支持的文本分割器编写了文档。
请参见下面的列表。

* [字符文本分割器](text_splitters/examples/character_text_splitter)

* [Hugging Face长度函数](text_splitters/examples/huggingface_length_function)

* [Latex文本分割器](text_splitters/examples/latex)

* [Markdown文本分割器](text_splitters/examples/markdown)

* [NLTK文本分割器](text_splitters/examples/nltk)

* [Python 代码文本分割器](text_splitters/examples/python)

* [递归字符文本分割器](text_splitters/examples/recursive_text_splitter)

* [Spacy 文本分割器](text_splitters/examples/spacy)

* [tiktoken (OpenAI) 长度函数](text_splitters/examples/tiktoken)

* [Tiktoken 文本分割器](text_splitters/examples/tiktoken_splitter)

